// 结构体变量的初始化
#include <stdio.h>
#include <string.h>

struct man
{
    int id;
    int age;
    char sex;
    char name[32];
};

int main(int argc, char **argv)
{
    // 成员初始化
    struct man m = {1, 18, 'b', "LUCY"};

    // 输出
    printf("%d %d %c %s\n", m.id, m.age, m.sex, m.name);

    // 成员赋值
    struct man m1;

    m1.id = 2;
    m1.age = 28;
    m1.sex = 'm';
    strcpy(m1.name, "Tom");

    // 输出
    printf("%d %d %c %s\n", m1.id, m1.age, m1.sex, m1.name);

    // 第三种初始化
    struct man m2 = {
        .id = 3,
        .sex = 'h'
    };

    // 输出
    printf("%d %d %c %s\n", m2.id, m2.age, m2.sex, m2.name);

    // 第四种初始化
    struct man m3 = {
        id:4,
        sex:'k'
    };

    // 输出
    printf("%d %d %c %s\n", m3.id, m3.age, m3.sex, m3.name);
    return 0;
}